/*
  试题名称：小杨做题
  时间限制：1.0 s
  内存限制：128.0 MB
  1.1 问题描述
    为了准备考试，小杨每天都要做题。
    第 1 天，小杨做了 a 道题；第 2 天，小杨做了 b 道题；
    从第 3 天起，小杨每天做的题目数量是前两天的总和。
    此外，小杨还规定，当自己某一天做了大于或等于 m 题时，接下来的所有日子里，他就再也不做题了。
    请问，到了第 n 天，小杨总共做了多少题呢？
  1.2 输入描述
    总共 4 行。第一行一个整数 a，第二行一个整数 b，第三行一个整数 m，第四行一个整数 n。
    保证 0 <= a,b <= 10； a,b < M <= 1000000； 3 <= N <= 364。
  1.3 输出描述
    一行一个整数，表示小杨 n 天里总共做了多少题目。
  1.4 特别提醒
    在常规程序中，输入、输出时提供提示信息是好习惯。
    但在本场考试中，由于系统限定，请不要在输入、输出中附带任何提示信息。
  1.5 样例输入 1
    1
    2
    10
    15
  1.6 样例输出 1
    19
  1.7 样例解释 1
    小杨第一天做 1题，第二天做 2题，第三天做 1+2=3 题，第四天做 2+3=5 题，第五天做 3+5=8题。
    因此他总共做了 1+2+3+5+8 = 19 题。
  1.8 样例输入 2
    1
    1
    5
    8
  1.9 样例输出 2
    12
  1.10 样例解释 2
    小杨前 5 天分别做了1,1,2,3,5 题，由于第 5 天小杨做了 5题，而 m=5，于是小杨从此以后不再做题。
    因此小杨总共做了 1+1+2+3+5=12 题。
*/
#include <iostream>

using namespace std;

int main() {
  int n;
  int a;
  int b;
  int m;
  int x;
  int y;

  cin >> a >> b >> m >> n;
  x = a + b;
  for (int i = 3; i <= n; i++) {
    if (a + b >= m) {
      break;
    } else {
      x = x + a + b;
      y = b;
      b = a + b;
      a = y;
    }
  }
  cout << x;

  return 0;
}